/**
 * 建议尽量全字段或者区域多字段进行匹配, 避免误触
 */
// Import("ocr.js")
// Import("utils.js")
// Import("ggUtils.js")


// SystemPrint.log(app.getTopPackName())
var APP_NAME_QSYY = '汽水音乐'
var PACK_NAME_QSYY = 'com.luna.music'
var MAIN_PAGE_FLAG_QSYY = '我的'
var ENTER_CENTER_PAGE_FLAG_QSYY = '福利中心'
var CENTER_PAGE_FLAG_QSYY = '金币中心'

function skip_主界面的弹窗_QSYY() {
    //找图返回目标数组
    var detectsclose = opencv.findImagesEx('图色523283.cv');
    if (detectsclose != null) {
        agentOrHidClick(detectsclose[0])
    }

    agentOrHidClick(ocrText('稍后再说', '稍后', '再说'))
}

function skip_任务中心的弹窗_QSYY() {

}

function sample_gg_qsyy(dect) {
    if (!dect) {
        return
    }
    agentOrHidClick(dect, 3)

    var closeLfag = ocrWaitForText('继续观看', '继续观', '续观看', 10, 3)
    sleep.second(getRandomNum(1, 10))
    if (closeLfag == null) {
        agentOrHidback()
    } else {
        agentOrHidClick(closeLfag)
    }


    if (ocrText('当前无', '无新视频', '新视频')) {
        //找图返回目标数组
        var detectsclose = opencv.findImagesEx('图色498405.cv');
        if (detectsclose != null) {
            agentOrHidClick(detectsclose[0])
        }

        agentOrHidClick(closeLfag)
    }

    var hasmore = ocrWaitForText('领取奖励', '领取奖', '取奖励')

    var maxNum = getMaxNumByNearBy(hasmore, 350, 500)
    if (hasmore && maxNum >= 660) {
        sample_gg_qsyy(hasmore)
    } else {
        agentOrHidClick(ocrText('坚持退出', '持退出', '坚持退'))
    }
}

function back2center_QSYY() {
    // if (!backUntilFindView(() => ocrText('日常任务', '金币:', '抵用金:', '点就领'))) {
    //     enter_任务中心_QSYY(true)
    // }
    array.forEach(element => {
        // Ddddd
    });
}


function move2顶部() {
    move2Top(7, 300, '现金收益', '赚赚卡', '活动收益')
}

// 启动任务
function start_app_QSYY() {
    // app.closeApp(PACK_NAME_QSYY)
    // sleep.millisecond(200)
    printinfoOld('start_app_QSYY')

    var isuccess = startApp(PACK_NAME_QSYY)
    if (!isuccess) {
        return false
    }

    // 跳过首页广告
    expectView(() => {
        return ocrTextMoreInRegion(0, 0.88, 1, 1, MAIN_PAGE_FLAG_QSYY)
    }, (times) => {
        skip_主界面的弹窗_QSYY()

        if (times > 6) {
            agentOrHidback()
            sleep.millisecond(500)
            // todo
        }
        sleep.millisecond(500)
    }, (findView) => {
        // agentOrHidClick(findView)
    }, null, 6)

    return true
}

// 进入任务中心
function enter_任务中心_QSYY(iskip) {
    printinfoOld('enter_任务中心_QSYY')

    if (iskip == undefined) iskip = false

    clickOffectY(9 / 10, 1, 60)
    if (!ocrWaitForText('福利中心', '我喜欢的音乐', '获赞', '历史播放')) {
        skip_主界面的弹窗_QSYY()
        clickOffectY(9 / 10, 1, 60)
        if (!ocrWaitForText('福利中心', '我喜欢的音乐', '获赞', '历史播放')) {
            agentOrHidback()
            sleep.millisecond(1000)
            clickOffectY(9 / 10, 1, 60)
        }
    }

    var centerFlag = null
    var detectsflag = opencv.findImagesEx('图色378272.cv');
    if (detectsflag != null) {
        centerFlag = detectsflag[0]
    }
    if (detectsflag == null) {
        centerFlag = ocrText(ENTER_CENTER_PAGE_FLAG_QSYY, '福利中', '利中心')
    }

    if (centerFlag == null) {
        addExcuteFuncTimes('start_收集金币_QSYY_没有任务中心')
        return false
    }

    setExcuteFunc('start_收集金币_QSYY_任务中心正常')
    agentOrHidClick(centerFlag)


    if (!iskip) {
        // 期望标志位
        expectView(() => {
            return ocrText(CENTER_PAGE_FLAG_QSYY, '金币收益', '玩法任务')
        }, (times) => {
            skip_任务中心的弹窗_QSYY()

            if (times > 3) {
                agentOrHidback()
                sleep.millisecond(500)
                // todo 未找到后 返回怎么做
            }
            sleep.millisecond(500)
            SystemPrint.warn('未找到任务界面期望标志位')
        }, (findView) => {
            // agentOrHidClick(findView)
            agentOrHidClick(ocrText('天天领金币', '领金币', '福利中心'))
        }, null, 3)
    }

    return true
}


function open_签到_QSYY() {
    printinfoOld('open_签到_QSYY-------------------------------')

    if (hasExcuteFunc('open_签到_QSYY')) {
        return
    }

    if (getExcuteFuncTimes('open_签到_QSYY') <= 1) {
        agentOrHidClick(ocrWaitForText('立即领取+', '立即领取'), 1, () => {
            setExcuteFunc('open_签到_QSYY')
        })
        sample_gg_qsyy(ocrWaitForText('看广告视频再', '看广告视频', '看广告再', '看视频再'))
    } else {
        skip_任务中心的弹窗_QSYY()
    }

    addExcuteFuncTimes('open_签到_QSYY')
}

function open_开宝箱_QSYY() {
    printinfoOld('open_开宝箱_QSYY-------------------------------')
    if(hasExcuteFunc('open_开宝箱_QSYY')){
        return
    }
    
    skip_任务中心的弹窗_QSYY()

    agentOrHidClick(ocrText('开宝箱得金币'), 2, () => {
        if(ocrText('我知道', '知道了', '知道')){
            setExcuteFunc('open_开宝箱_QSYY')
        }
        sample_gg_qsyy(ocrWaitForMoreTextMillisecondInRegion(0, 0.5, 1, 0.85, 6, '看广告赚', '看视频赚', '看广告再', '看视频再', '看广告视频再'))
    })
}

function watch_看广告_QSYY() {
    printinfoOld('watch_看广告_QSYY-------------------------------')
    skip_任务中心的弹窗_QSYY()

    if (hasExcuteFunc('watch_看广告_QSYY')) {
        return
    }

    sample_gg_qsyy(ocrText('看广告赚金币', '看广告赚', '本次得'))
    // moveUp2FindWidTxtMore((findView) => {
    //     sample_gg_qsyy(findView)
    //     setExcuteFunc('watch_看广告_QSYY')
    // }, '看广告赚金币', '看视频賺', '看视频')
}

function open_金币红包雨_QSYY() {
    printinfoOld('open_金币红包雨_QSYY')

    if (hasExcuteFunc('open_金币红包雨_QSYY')) {
        return
    }

    if (hasExcuteFuncInTime是否在一段时间内执行过('open_金币红包雨_QSYY')) {
        return
    }

    skip_任务中心的弹窗_QSYY()

    agentOrHidClick(ocrText('一大波红包来袭', '一大波红包', '红包来'), 3, () => {
        //找图返回目标数组
        for (var i = 0; i < 20; i++) {
            // var detects = opencv.findImagesEx('图色728470.cv');
            // if (detects != null) {
            //     // printinfoOld(detects);
            //     agentOrHidClick(detects[0])
            //     sleep.millisecond(500)
            // }
            click(0.25, 0.5, 0)
            sleep.millisecond(250)
            click(0.25, 0.5, 0)
            sleep.millisecond(250)
        }

        // ocrWaitForText('你在红包雨中获得', 15, 1)

        // ocrText('看视频翻倍', true)
        var flag = ocrWaitForMoreTextMillisecondInRegion(0, 0.5, 1, 0.85, 8, '看广告膨胀领', '看广告膨胀')
        // if (getDectNumber(flag) < 2000 && getDectNumber(flag) > 0) {
        //     addExcuteFuncTimes('open_金币红包雨_QSYY_YH')
        //     if (getExcuteFuncTimes('open_金币红包雨_QSYY_YH') > 2) {
        //         setExcuteFunc('金币红包雨')
        //     }
        // }

        if (flag) {
            sample_gg_qsyy(flag)

        } else {
            agentOrHidClick(ocrText('不看广告', '只领', '福利页'))
        }

        setExcuteFuncInTime一段时间内不再执行('open_金币红包雨_QSYY', 21 * 60)
    })
    addExcuteFuncTimes('open_金币红包雨_QSYY')



    if (ocrText('红包雨中获得', '红包雨中')) {
        sample_gg_qsyy(ocrText('看广告膨胀领', '看广告膨胀'))
        agentOrHidClick(ocrText('不看广告', '只领'))
    }
}


function start_收集金币_QSYY() {
    printinfoOld('start_收集金币_QSYY')
    if (getExcuteFuncTimes('start_收集金币_QSYY_没有任务中心') > 2
        && !hasExcuteFunc('start_收集金币_QSYY_任务中心正常')) {
        return
    }

    if (!isAllow允许登录(PACK_NAME_QSYY)) {
        if (getExcuteFuncTimes('start_收集金币_QSYY') == 0) {
            
            printwarn('xxx启动失败或被屏蔽')
            sleep.second(10)
            
            addExcuteFuncTimes('start_收集金币_QSYY')
        }
        return
    }
    currentAppPackName = PACK_NAME_QSYY
    // closeApp(PACK_NAME_QSYY)

    if (!start_app_QSYY()) {
        return
    }

    addExcuteFuncTimes('start_收集金币_QSYY')

    if (!enter_任务中心_QSYY()) {
        return
    }

    startThredTaskMaxTime超时结束(() => {

        open_签到_QSYY()

        watch_看广告_QSYY()

        open_开宝箱_QSYY()
    }, 8 * 60)

    stopAllApp()
    // open_金币红包雨_QSYY()

    // closeApp(PACK_NAME_QSYY)
}